package psn.hui.bus.service;

import java.util.List;

import psn.hui.bus.domain.Customer;
import psn.hui.bus.vo.CustomerVo;
import psn.hui.sys.utils.DataGridView;

/**
 * 客户管理服务接口
 * 
 * @author hui
 *
 */
public interface CustomerService {

	/**
	 * 插入客户数据，动态sql(可选字段)
	 * 
	 * @param customer
	 * @return
	 */
	int addCustomer(Customer customer);

	/**
	 * 根据主键(identity)删除客户
	 * 
	 * @param identity
	 * @return
	 */
	int deleteByIdentity(String identity);

	/**
	 * 根据主键(identity)更新客户数据，动态sql(可选字段)
	 * 
	 * @param customer
	 * @return
	 */
	int updateByIdentity(Customer customer);

	/**
	 * 根据主键(identity)查询客户
	 * 
	 * @param identity
	 * @return
	 */
	Customer selectByIdentity(String identity);

	/**
	 * 根据可选字段查询客户
	 * 
	 * @param customerVo
	 * @return
	 */
	DataGridView queryAllCustomer(CustomerVo customerVo);
	/**
	 * 	根据identity批量删除客户数据
	 * @param identitys
	 * @return
	 */
	int batchDeleteCustomerByIds(String[] identitys);
	/**
	 * 	检查身份证号是否可用(不重复)
	 * @param identity
	 * @return 该身份证存在返回false,否则true
	 */
	boolean checkIdentity(String identity);
	/**
	 * 	查询客户列表
	 * @param customerVo
	 * @return
	 */
	List<Customer> queryAllCustomerForList(CustomerVo customerVo);
}
